home *** CD-ROM | disk | FTP | other *** search
- .. Hundekurve
-
- function mann(t)
- ## return t|-ones(size(t));
- return cos(t)|sin(t);
- endfunction
-
- function dgl (t,y)
- delta=mann(t)-y;
- norm=sqrt(sum(delta*delta));
- return delta/norm;
- endfunction
-
- function hund (t)
- ## Berechnet die Hundkurve zur Zeit t.
- ## Der Hund startet in [0,0] und bewegt sich mit Geschwindigkeit 1.
- ## Der Mann bewegt sich wie mann(t).
- return heun("dgl",t,[0,0]);
- endfunction
-
- function show (endtime)
- t=linspace(0,endtime,100);
- y=heun("dgl",t,[0,0]);
- m=mann(t')';
- xplot(y[1]_m[1],y[2]_m[2]);
- title("Hund und Mann");
- wait(180);
- xplot(y[1]-m[1],y[2]-m[2]);
- title("Differenz");
- wait(180);
- n=length(y[1]); d=sqrt((y[1,n]-m[1,n])^2+(y[2,n]-m[2,n])^2);
- "Letzter Abstand : ", d,
- return plot();
- endfunction
-
- " show(endtime) defined"
-